home *** CD-ROM | disk | FTP | other *** search
/ PC Elektro 3 / PC-Elektro-3-cd1.bin / KBan 2.0 / KBANSRC.LZH / SRC / PROG / RECORD.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-04-05  |  1.3 KB  |  70 lines

  1. /*
  2.  * a header of a recording routine
  3.  * Copyright (C) 1995-1997 Kazutaka Hirata <khirata@jove.acs.unt.edu>
  4.  */
  5.  
  6. #ifndef _RECORD_H_
  7. #define _RECORD_H_
  8.  
  9. #include <stdio.h>
  10.  
  11. class RECORD_STREAM  {
  12. public:
  13. };
  14.  
  15. extern RECORD_STREAM rec;
  16.  
  17. void record_mes(const char* mes);
  18.  
  19. inline RECORD_STREAM& operator<<(RECORD_STREAM& rec, int i)
  20. {
  21.   char str[300];
  22.   sprintf(str, "%d", i);
  23.   record_mes(str);
  24.   return rec;
  25. }
  26.  
  27. inline RECORD_STREAM& operator<<(RECORD_STREAM& rec, unsigned int i)
  28. {
  29.   char str[300];
  30.   sprintf(str, "%d", i);
  31.   record_mes(str);
  32.   return rec;
  33. }
  34.  
  35. inline RECORD_STREAM& operator<<(RECORD_STREAM& rec, long i)
  36. {
  37.   char str[300];
  38.   sprintf(str, "%ld", i);
  39.   record_mes(str);
  40.   return rec;
  41. }
  42.  
  43. inline RECORD_STREAM& operator<<(RECORD_STREAM& rec, unsigned long i)
  44. {
  45.   char str[300];
  46.   sprintf(str, "%ld", i);
  47.   record_mes(str);
  48.   return rec;
  49. }
  50.  
  51. inline RECORD_STREAM& operator<<(RECORD_STREAM& rec, char c)
  52. {
  53.   char str[300];
  54.   sprintf(str, "%c", c);
  55.   record_mes(str);
  56.   return rec;
  57. }
  58.  
  59. inline RECORD_STREAM& operator<<(RECORD_STREAM& rec, const char* s)
  60. {
  61.   char str[300];
  62.   sprintf(str, "%s", s);
  63.   record_mes(str);
  64.   return rec;
  65. }
  66.  
  67. #define REC rec << __FILE__ << '(' << __LINE__ << ") "
  68.  
  69. #endif /* _RECORD_H_ */
  70.